package Day_0130;

/**
 * @author zxc
 * @date 2023/01/30 20:00
 **/
public class GenericParadigm {
    public static void main(String[] args) {
        /**
         * 1.“泛型” 意味着编写的代码可以被不同类型的对象所重用。
         * （即，根据所传入的类型来决定当前泛型所指向的具体类型;）
         * 2.“泛型”，顾名思义，“泛指的类型”。
         * 我们提供了泛指的概念，但具体执行的时候却可以有具体的规则来约束，
         * 比如我们用的非常多的ArrayList就是个泛型类，ArrayList作为集合可以存放各种元素，如Integer, String，自定义的各种类型等，
         * 但在我们使用的时候通过具体的规则来约束，如我们可以约束集合中只存放Integer类型的元素;
         * （即，对于接受泛型的地方，传入具体类型，约束其存放所传入的具体类型）
         * List<Integer> iniData = new ArrayList<>();
         *
         * 3.使用泛型的好处？
         * （1）以集合来举例，使用泛型的好处是我们不必因为添加元素类型的不同而定义不同类型的集合，如整型集合类，浮点型集合类，字符串集合类，
         * 即，若是要存储不同类型的数据，只需要对于使用具体的规则来约束泛型;
         * （2）因为我们只要把底层存储设置了Object即可，添加的数据全部都可向上转型为Object。
         * （3）更重要的是我们可以通过规则按照自己的想法控制存储的数据类型。
         */
    }
}
